/**
 * @param {number[][]} matrix
 * @return {void} Do not return anything, modify matrix in-place instead.
 */
var rotate = function (matrix) {
  const n = matrix.length;

  // 先进行转置操作（行变列）
  for (let i = 0; i < n; i++) {
    for (let j = i; j < n; j++) {
      // 交换 matrix[i][j] 和 matrix[j][i]
      [matrix[i][j], matrix[j][i]] = [matrix[j][i], matrix[i][j]];
    }
  }

  // 再对每一行进行左右翻转
  for (let i = 0; i < n; i++) {
    matrix[i].reverse();
  }
};